package com.atguigu.lease.web.admin.custom.converter;

import com.atguigu.lease.model.enums.ItemType;

import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.type.TypeFactory;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;

/**
 * @author Ahmad
 * @date 2024/12/20 21:43
 * @description 这个是自定义类型转换器类，用于将 前端字符串转换为枚举类型ItemType。
 */
@Component
public class StringToItemTypeConverter implements Converter<String, ItemType> {
    @Override
    /**
     * code : 前端传来的字符串，例如 "1"、"2"。也就是需要被转换的数据
     */
    public ItemType convert(String code) {
        for (ItemType value : ItemType.values()) {// 遍历枚举类型
            if (value.getCode().equals(Integer.valueOf(code))) {// 如果枚举类型的code值与前端传来的字符串相等，则返回该枚举类型
                return value;
            }
        }
        return null;
    }
}